Short message service (SMS) is the most known messaging service in the mobile communication network. It has gained the popularity because of its simplicity to use and there is no need to any specific applications as such in the terminal side nor in the network side, as the SMS is carried from the originator to the destination by using the Mobile Application Part (MAP) of the SS#7 protocol, wherein the Short Message protocol elements are transported across the network as fields within the MAP messages.
Originally it was possible to transmit short messages with 160 characters, but later it became possible to deliver short messages with more than 160 characters. In such a situation the short message exceeding the 160 characters is divided into multiple short messages and each of the messages are transmitted separately and combined in the destination address back to a one short message again. In other words, the data exceeding the 160 characters is sent using multiple messages, in which case each message will start with a User Data Header (UDH) containing segmentation information. The segmentation information comprises three parameters: Reference number, Maximum number and Sequence number. The Reference number identifies the short message in question, Maximum number identifies the number of concatenated messages related to each other and Sequence number defines the order of the message in the sequence. The Reference number is the same in each of the messages belonging to the same short message packet. Generally speaking, the UDH is part of the payload and thus the number of available characters per segment is lower: 153 for 7-bit encoding, 134 for 8-bit encoding and 67 for 16-bit encoding.
A challenge with the above described situation in which one message is divided into multiple messages i.e. concatenated is that there is a risk that the messages, or only some of them, get queued in the network. The reason for this may be that one or more network elements involved in the delivery of the message may be congested. For example, when the short messages are originating from some network element, e.g. a server, and transmitted from there to short message service center (SMSC), the latter parts of the messages are very likely to get queued because the delivery path is slower from SMSC to a user terminal and back than from the source to the SMSC. The queuing of the messages in the SMSC may cause the start of so called resend schedule of the messages, as the source does not receive any acknowledgement of the delivery of messages in due course. The resend schedule is operator definable, but may e.g. be such that the first resend happens after 10 seconds after the delivery of the first message if no acknowledgement is received. The second resend happens in 10 seconds on the same grounds with respect to the first resent message. The next resend may e.g. be scheduled in 30 seconds from non-acknowledged second resent message, and so on. Thus, one can see from above that the described mechanism to transmit the messages is not acceptable especially in view of applications in which the delivery time plays an important role. Such applications may e.g. be authentication related services, wherein the user of a user terminal needs some authentication information immediately when using a certain service.
Thus, some improved mechanisms are needed to solve the above described situations.